perm filename COMMON.LSP[F76,JMC] blob sn#254288 filedate 1976-12-16 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002
C00004 ENDMK
CāŠ—;


(DE FIND (X U) 
       (COND ((NULL U) NIL)
	     ((EQUAL X (CAR U)) U)
	     (T (FIND X (CDR U))))) 

(DE COMMON1 (X U) 
       ((LAMBDA (Z) 
	 (COND
	  ((NOT (NULL Z)) (CONS (CAR Z) U))
	  ((ATOM X) (CONS X U))
	  (T
	   ((LAMBDA (X1) 
		    ((LAMBDA (X2) 
			     (COND ((AND (EQ (CAR X) (CAR X1))
					 (EQ (CDR X) (CAR X2)))
				    (CONS X (CONS X (CDR X2))))
				   (T ((LAMBDA (V) 
					       (CONS V
						     (CONS V
							   (CDR X2))))
				       (CONS (CAR X1) (CAR X2))))))
		     (COMMON1 (CDR X) (CDR X1))))
	    (COMMON1 (CAR X) U)))))
	(FIND X U))) 

(DE COMMON (X) (CAR (COMMON1 X NIL)))